import json
import requests


fd=open(file='file.txt', mode='w', encoding='utf-8')
fd.write('hello\twor 复鬼画符国家和国民公会目标ld')
fd.writelines(['hello\n', 'world\n', 'python\n'])
fd.close()
print(fd.name) # 文件名
print(fd.mode) # 文件打开模式
print(fd.encoding)# 文件编码
print(fd.closed)# 文件是否关闭

# mode = 'r' 读取文件  默认模式
# mode = 'w' 写入文件  如果文件存在则清空文件
# mode = 'a' 追加文件  如果文件存在则在文件末尾追加 如果文件不存在则创建文件
# mode = 'b' 二进制文件  
# mode = 'rb' 读取二进制文件
# mode = 'wb' 写入二进制文件
# mode = 'ab' 追加二进制文件
# mode = 'r+' 读写文件
# mode = 'w+' 读写文件  指针在文件开头
# mode = 'a+' 读写文件  指针在文件末尾
# mode = 'rb+' 读写二进制文件


print('-------------------')

with open(file='file.txt', mode='r', encoding='utf-8') as fd2:   # with 语句会自动关闭文件
    print(fd2.name) # 文件名
    print(fd2.mode) # 文件打开模式
    print(fd2.encoding)# 文件编码
    print(fd2.read(2)) # 读取文件内容  2读取2个字符  不写参数读取全部内容  读取一行内容
    print(fd2.readlines(2)) # 读取所有行 返回一个列表 2读取2行
print(fd2.closed)# 文件是否关闭




#取出文件的内容 json
with open(file='data.json',mode='r', encoding='utf-8') as f:
    data = json.load(f)#将文件内容转换为字典
    #将字典转换为json格式
    data_str=json.dumps(data,ensure_ascii=False,indent=4)
    print(data_str)


#下载图片 二进制文件 图片 视频 音频
''' 
100 请求正常   服务器已接收到请求
200 请求成功   服务器成功返回请求的数据
300 请求重定向 服务器将请求重定向到其他页面  301永久重定向  302临时重定向 307临时重定向
400 请求错误   客户端错误                  401未授权  403禁止访问  404未找到 405方法不允许
500 服务器错误                            500服务器内部错误  502网关错误  503服务器不可用 504网关超时 
''' 
r = requests.get('https://www.baidu.com/img/flexible/logo/pc/result.png')
if r.status_code == 200:
    with open('baidu.png', 'wb') as f: # 二进制文件
        f.write(r.content)
        print('下载成功')
else:
    print('下载失败')

    
r2=requests.get('https://cz-sycdn.kuwo.cn/d02086b9394aae0bdaf3d840e6269511/668f9b1a/resource/m3/42/11/770029981.wma')
if r2.status_code == 200:
    with open('kuwo.wma', 'wb') as f: # 二进制文件
        f.write(r2.content)
        print('下载成功')
else:
    print('下载失败')